package com.hundsun.cprs.yyt.service.classify.dao;

import java.util.List;

import com.hundsun.cprs.yyt.service.classify.domain.Classify;
import com.hundsun.cprs.yyt.service.classify.domain.Classify;

public interface ClassifyDao {
	/**
	 * 添加菜单目录
	 * @param classify
	 */
	public void createClassify(Classify classify);
	
	/**
	 * 异步校验类目code
	 * @param code
	 * @return
	 */
	public Integer selectClassifyByCodeIsUnique(String code);
	
	/**
	 * 查找下一个类目的id 
	 * @return
	 */
	public Integer selectClassifyIdOfNext();
	
	/**
	 * 查询所有的一级或者一级目录下的二级类目录
	 * @param classify
	 * @return
	 */
	public List<Classify> selectClassifyList(Classify  classify);
	
	/**
	 * 启动或者禁止一级目录，同时会直接启动或者禁用二级目录
	 * @param classify
	 */
	public void updateOneClassifyAndTwoClassify(Classify  classify);
	/**
	 * 根据id或者code查找类目录信息
	 * @param id
	 * @return
	 */
	public Classify   selectClassifyByIdOrCode(Classify   classify);
	
	/**
	 * 更新目录信息
	 * @param classify
	 */
	public  void  updateClassify(Classify classify);
	
	/**
	 *  获取类目树
	 * @param isDelete  禁用Y、启用 N、null为获取全部
	 * @return
	 */
	public List<Classify> getClassifyAllList(String isDelete);
	/**
	 * 更新类目树（禁用或者是启用）
	 * @param classify
	 */
	public void deleteClassifyById(Integer id);

    Classify selectClassifyByID(Long classifyId);
}
